/*********************************************************************
	Rhapsody	: 7.5 
	Login		: kbe
	Component	: DefaultComponent 
	Configuration 	: CodeConfig
	Model Element	: EventHandler
//!	Generated Date	: Thu, 13, Sep 2012  
	File Path	: DefaultComponent\CodeConfig\EventHandler.h
*********************************************************************/

#ifndef EventHandler_H
#define EventHandler_H

//#[ ignore
#ifdef _MSC_VER
// disable Microsoft compiler warning (debug information truncated)
#pragma warning(disable: 4786)
#endif
//#]

//## auto_generated
#include <oxf\oxf.h>
//## auto_generated
#include <string>
//## auto_generated
#include <algorithm>
//## auto_generated
#include "Default.h"
//## link itsReactor
class Reactor;

//## package Default

//## class EventHandler
class EventHandler {
    ////    Constructors and destructors    ////
    
public :

    //## auto_generated
    EventHandler();
    
    //## auto_generated
    virtual ~EventHandler() = 0;
    
    ////    Operations    ////
    
    //## operation handleEvent(HANDLE,Event_Type)
    virtual void handleEvent(HANDLE h, Event_Type& et) = 0;
    
    ////    Additional operations    ////
    
    //## auto_generated
    Reactor* getItsReactor() const;

protected :

    //## auto_generated
    void cleanUpRelations();
    
    ////    Relations and components    ////
    
    Reactor* itsReactor;		//## link itsReactor
    
    ////    Framework operations    ////

public :

    //## auto_generated
    void __setItsReactor(Reactor* p_Reactor);
    
    //## auto_generated
    void _setItsReactor(Reactor* p_Reactor);
    
    //## auto_generated
    void _clearItsReactor();
    
    //## auto_generated
    void setHandle(HANDLE p_handle);

protected :

    HANDLE handle;		//## attribute handle

public :

    //## auto_generated
    HANDLE getHandle() const;
    
    //## auto_generated
    Event_Type getType() const;
    
    //## auto_generated
    void setType(Event_Type p_type);

protected :

    Event_Type type;		//## attribute type
};

#endif
/*********************************************************************
	File Path	: DefaultComponent\CodeConfig\EventHandler.h
*********************************************************************/
